/*
 * ClienteUsuario.h
 *
 *  Created on: 25/06/2011
 *      Author: chronos
 */


#include "ColadeMensajes/ColadeMensajes.h"
#include "ColadeMensajes/TipoMensaje.h"
#include "Accion.h"
#include <string.h>
#include "log/lockinglog.h"

using namespace std;

#ifndef CLIENTEUSUARIO_H_
#define CLIENTEUSUARIO_H_

class ClienteUsuario {
public:
	ClienteUsuario(string nombre,bool debug);
	virtual ~ClienteUsuario();

	int procesarMensajesDelServidor ();
	void imprimirOpciones ();
	int atenderUsuario (int entrada);
	void chatear(string nombre);
	bool salir();

private:
	Cola<Mi_Tipo_Mensaje>* colaCliente;
	Cola<Mi_Tipo_Mensaje>* colaServidor;
	pid_t pid;
	string nombre;
	bool permito_salir;
	void iniciarSesion ();
	void enviarMensaje (int tipoDeMensaje, int numero = 0, string texto = "default");
	bool recibirConfirmacion(int tipoMensaje);
	lockinglog* log;
};

#endif /* CLIENTEUSUARIO_H_ */
